MANDO PROGRAMABLE
RC5

Adrián Rodríguez Sánchez




Índice de contenido

MANDO PROGRAMABLE
RC5
1

Guía de Usuario 1

Funcionamiento de la señal RC5 2

Función Emisor: 2

Función Receptor: 3

Distribución de la memoria EEPROM 3

Bibliografía: 3

Programa

Fichero sch (para Eagle)

Fichero brd (para Eagle)



Guía de Usuario


El mando PRC5 consta de dos “modos”, Emisor y Guardar. Por defecto estará siempre en modo emisor, y accederá al modo Guardar cuando se pulse la tecla “#”


Modo Emisor: Cada vez que pulse una tecla (excepto “#”) emitirá la señal guardada previamente en dicha tecla.


Modo Guardar: Se encenderá el led y permanecerá encendido esperando una señal que guardar. Se coge el mando del que se quiera copiar la señal. Se coloca uno en frente del otro, y se pulsa la tecla que quiera el usuario copiar. El led del mando PRC5 se apagará si se ha guardado correctamente la señal. Si parpadea es que ha habido algún error, o el mando del que se desea copiar la señal no es RC5, en cualquiera de esto dos casos no se guarda nada y sale automáticamente del “modo Guardar”.


En caso de que se guarde la señal correctamente, hay que pulsar a continuación la tecla donde desee guardar la señal. Parpadeará una vez el led, señalando que se ha guardado la señal en la memoria no volátil del mando y pasará automáticamente a “modo Emisor”. Dicha tecla, emitirá la misma señal cuando pase a modo emisor. Esta tecla podrá ser cualquiera excepto “#”, que si se pulsa, lo que hará es no guardar la señal y pasará a modo emisor sin hacer nada. No importará lo que haya guardado antes en las teclas, si desea guardar una nueva señal, se aguardará encima borrando lo que hubiese anteriormente.



Funcionamiento de la señal RC5


RC5 es la norma universal de Philips Electronics para sus mandos a distancia por IR (controles remotos) ya sean para equipos de audio, TV's, etc.


La mitad del bit es un tren de pulsos de 36 Khz. y en la otra mitad la señal está plana. De 1,778 ms. cada bits



Los dos primeros bits son los de inicio que deben ser dos "1" lógicos.


El tercer bit, “Togle”, alterna cada vez que se libera una tecla del mando. Y así distingue entre mantener pulsada una tecla y pulsar repetidas veces una tecla.


Los 5 bits siguientes es la dirección, para distinguir el dispositivo, TV, DVD, etc.


Los 6 bits últimos es el comando. Cambiar de canal, subir volumen, etc.




Función Emisor:


Cuando se pulsa una tecla que no sea “#” y el bit 0 de Estado es 0, emite la señal guardada en dicha tecla teniendo en cuenta el bit “Tagle”, que se va alternando cada vez que se deja de pulsar una tecla. Sabiendo que tecla ha pulsado accede a la memoria no volátil EEPROM del PIC concreta.


Lee la EEPROM y emite, dependiendo de si es un 1 o un 0 lógico, un 1 o un 0 RC5 llamando a las subrutinas “bituno” o “bitcero”.


Para enviar la parte alta del bit, que va a 36KHz, se enciendo el led IR 32 veces, no 36, pues está medio bit, que son 889 useg y cada ciclo son unos 28 useg. De los cuales 14 useg estará el led IR encendido y los otros 14 apagados. Pero para ahorrar pilas en vez de estar 50% encendido se hace el 25%, es decir, que solo estará encendido el led IR 7 useg y 21 apagado.


Cuentas:

Medio bit son 889 useg y como son 36KHz un ciclo es 1/36000=28 useg.

Por tanto 0.000889 x 36000 = 32 ciclos de 28 useg cada uno.


Función Receptor:


En cuanto se pulsa # se mantiene esperando a que entre los bit de inicio RC5. Si son correctos guardará los 5 bits de Dirección y los 6 de Comando en la memoria RAM volátil del PIC. Pondrá el bit 0 de Estado en 1 y termina. En cuanto se pulse una tecla que no sea “#” escribirá estos 11 bit en la memoria EEPROM del PIC, en una dirección que dependerá de la tecla pulsada.


El Receptor, para leer los infrarrojos correctamente, se sincroniza con los bits de inicio a la vez que la comprueba, después mira lo que le llega al sensor cada ¾ de bit 11 veces. Guardando la dirección en “Direc” y el comando en “Comando”.


Distribución de la memoria EEPROM


Los datos se guardan en dos direcciones, una para los 5 bits de dirección y otra para los 6 del comando.

Dirección

memoria

Tecla


Dato

0

0

Direc

1

0

Comando

2

1

Direc

3

1

Comando

4

2

Direc

5

2

Comando

6

3

Direc

7

3

Comando


Dependiendo de la tecla pulsada condiciona la dirección de memoria. La fórmula que se ha llevado a cabo corresponde a:


El doble del valor de la tecla pulsada es el nº de la dirección de memoria donde se guardara la “Direc”, y el doble del valor +1 se guarda el “Comando”








Bibliografía:


Microcontroladores PIC Diseño práctico de aplicaciones 1º parte (PIC12F508 y PIC16F84A).


Microcontroladores PIC Diseño práctico de aplicaciones 2º parte (PIC16F87X y PIC18FXXX).


Manual de usuario y tutorial didáctico del PIC School.


Data Sheet 16F87X


Data Sheet TSOP1736


Tutorial Eagle 4.0 Para Linux y Windows


http://mx.geocities.com/tutorelec/infrarrojos/kitpicIRTX.html


http://robots-argentina.com.ar/Comunicacion_protocolorc5.htm


http://www.todopic.com.ar/